static void gtk_progress_bar_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
-static gboolean gtk_progress_bar_draw (GtkWidget *widget,
- cairo_t *cr);
+static void gtk_progress_bar_snapshot (GtkWidget *widget,
+ GtkSnapshot *snapshot);
static void gtk_progress_bar_act_mode_enter (GtkProgressBar *progress);
static void gtk_progress_bar_act_mode_leave (GtkProgressBar *progress);
static void gtk_progress_bar_finalize (GObject *object);
GtkAllocation *out_clip,
gpointer data);
static gboolean gtk_progress_bar_render (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
gint x,
gint y,
gint width,
GtkAllocation *out_clip,
gpointer data);
static gboolean gtk_progress_bar_render_trough (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
gint x,
gint y,
gint width,
gint *natural_baseline,
gpointer data);
static gboolean gtk_progress_bar_render_text (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
gint x,
gint y,
gint width,
gobject_class->get_property = gtk_progress_bar_get_property;
gobject_class->finalize = gtk_progress_bar_finalize;
- widget_class->draw = gtk_progress_bar_draw;
+ widget_class->snapshot = gtk_progress_bar_snapshot;
widget_class->size_allocate = gtk_progress_bar_size_allocate;
widget_class->measure = gtk_progress_bar_measure_;
widget_class->direction_changed = gtk_progress_bar_direction_changed;
GTK_WIDGET (pbar),
gtk_progress_bar_measure,
gtk_progress_bar_allocate,
- gtk_progress_bar_render,
NULL,
+ gtk_progress_bar_render,
NULL,
NULL);
NULL,
NULL,
gtk_progress_bar_allocate_trough,
- gtk_progress_bar_render_trough,
NULL,
+ gtk_progress_bar_render_trough,
NULL,
NULL);
static gboolean
gtk_progress_bar_render_text (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
int x,
int y,
int width,
if (priv->ellipsize)
pango_layout_set_width (layout, width * PANGO_SCALE);
- gtk_render_layout (context, cr, x, y, layout);
+ gtk_snapshot_render_layout (snapshot, context, x, y, layout);
g_object_unref (layout);
static gboolean
gtk_progress_bar_render_trough (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
int x,
int y,
int width,
widget = gtk_css_gadget_get_owner (gadget);
priv = GTK_PROGRESS_BAR (widget)->priv;
- gtk_css_gadget_draw (priv->progress_gadget, cr);
+ gtk_css_gadget_snapshot (priv->progress_gadget, snapshot);
return FALSE;
}
static gboolean
gtk_progress_bar_render (GtkCssGadget *gadget,
- cairo_t *cr,
+ GtkSnapshot *snapshot,
int x,
int y,
int width,
widget = gtk_css_gadget_get_owner (gadget);
priv = GTK_PROGRESS_BAR (widget)->priv;
- gtk_css_gadget_draw (priv->trough_gadget, cr);
+ gtk_css_gadget_snapshot (priv->trough_gadget, snapshot);
if (priv->show_text)
- gtk_css_gadget_draw (priv->text_gadget, cr);
+ gtk_css_gadget_snapshot (priv->text_gadget, snapshot);
return FALSE;
}
-static gboolean
-gtk_progress_bar_draw (GtkWidget *widget,
- cairo_t *cr)
+static void
+gtk_progress_bar_snapshot (GtkWidget *widget,
+ GtkSnapshot *snapshot)
{
GtkProgressBar *pbar = GTK_PROGRESS_BAR (widget);
GtkProgressBarPrivate *priv = pbar->priv;
- gtk_css_gadget_draw (priv->gadget, cr);
-
- return FALSE;
+ gtk_css_gadget_snapshot (priv->gadget, snapshot);
}
static void
priv->trough_gadget,
gtk_progress_bar_measure_text,
NULL,
- gtk_progress_bar_render_text,
NULL,
+ gtk_progress_bar_render_text,
NULL,
NULL);
g_signal_connect (gtk_css_gadget_get_node (priv->text_gadget), "style-changed",